#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <assert.h>

//void Mix(const int* pa,const int* pb, int* pc)
//{
//	assert(pa && pb && pc);
//	while (*pa != -1 && *pb != -1)
//	{
//		if (*pa < *pb)
//		{
//			*pc = *pa;
//			pc++;
//			pa++;
//		}
//		else
//		{
//			*pc = *pb;
//			pc++;
//			pb++;
//		}
//	}
//	if (*pa == -1)
//	{
//		while (*pb != -1)
//		{
//			*pc = *pb;
//			pb++;
//			pc++;
//		}
//	}
//	else
//	{
//		while (*pa != -1)
//		{
//			*pc = *pa;
//			pa++;
//			pc++;
//		}
//	}
//}
//int main()
//{
//	int n = 0, m = 0;
//	scanf("%d %d", &n, &m);
//
//	int arr1[10] = { 0 };
//	int arr2[10] = { 0 };
//	int arr3[20] = { 0 };
//	int i = 0;
//	for (i = 0; i < n; i++)
//	{
//		scanf("%d", &arr1[i]);
//	}
//	arr1[n] = -1;
//	for (i = 0; i < m; i++)
//	{
//		scanf("%d", &arr2[i]);
//	}
//	arr2[m] = -1;
//	Mix(arr1, arr2, arr3);
//	for (i = 0; i < n + m; i++)
//	{
//		printf("%d ", arr3[i]);
//	}
//
//	return 0;
//}

//int main()
//{
//	int n = 0;
//	int i = 0, j = 0;
//	while (~scanf("%d", &n))
//	{
//		for (i = 0; i < n; i++)
//		{
//			for (j = 0; j < n; j++)
//			{
//				if (i == j || i == n - j - 1)
//				{
//					printf("*");
//				}
//				else
//				{
//					printf(" ");
//				}
//			}
//			printf("\n");
//		}
//	}
//
//	return 0;
//}

//int main()
//{
//	int n = 0;
//	int i = 0, j = 0;
//	while (~scanf("%d", &n))
//	{
//		for (i = 0; i < n + 1; i++)
//		{
//			for (j = 0; j < 2 * n - i * 2; j++)
//			{
//				printf(" ");
//			}
//			for (j = 0; j <= i; j++)
//			{
//				printf("*");
//			}
//			printf("\n");
//		}
//		for (i = 0; i < n; i++)
//		{
//			for (j = 0; j < 2 + i * 2; j++)
//			{
//				printf(" ");
//			}
//			for (j = 0; j < n - i; j++)
//			{
//				printf("*");
//			}
//			printf("\n");
//		}
//	}
//	return 0;
//}

//x ^ 2 - 5 * x + 1 = 0;
//x ^ 2 / x ^ 4 + 3 * x ^ 2 + 1
//25 * x ^ 2 - 10 * x + 1 + 3 * x ^ 2 + 1
//5 * x - 1 / 130 * x - 26

//5

//int main()
//{
//	int a = 0, b = 0, c = 0, d = 0, e = 0;
//
//	for (a = 1; a <= 5; a++)
//	{
//		for (b = 1; b <= 5; b++)
//		{
//			for (c = 1; c <= 5; c++)
//			{
//				for (d = 1; d <= 5; d++)
//				{
//					for (e = 1; e <= 5; e++)
//					{
//						if ((b == 2) + (a == 3) == 1 &&
//							(b == 2) + (e == 4) == 1 &&
//							(c == 1) + (d == 2) == 1 &&
//							(c == 5) + (d == 3) == 1 &&
//							(e == 4) + (a == 1) == 1)
//						{
//							if (a * b * c * d * e == 120)
//							{
//								printf("a = %d, b = %d, c = %d, d = %d, e = %d\n", a, b, c, d, e);
//							}
//						}
//					}
//				}
//			}
//		}
//	}
//	return 0;
//}

//6
//int main()
//{
//	char crim = 0;
//
//	for (crim = 'a'; crim <= 'd'; crim++)
//	{
//		if ((crim != 'a') + (crim == 'c') + (crim == 'd') + (crim != 'd') == 3)
//		{
//			printf("cirm = %c\n", crim - 32);
//		}
//	}
//	return 0;
//}
//7
int main()
{
	int arr[10][10] = { 0 };
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		int j = 0;
		for (j = 0; j < 10; j++)
		{
			if (j == 0)
			{
				arr[i][j] = 1;
			}
			if (i == j)
			{
				arr[i][j] = 1;
			}
			if (i >= 2 && j >= 1)
			{
				arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
			}
		}
	}
	for (i = 0; i < 10; i++)
	{
		int j = 0;
		for (j = 0; j <= i; j++)
		{
			printf("%-3d ", arr[i][j]);
		}
		printf("\n");
	}
	return 0;
}
